MySQL数据库创建表一系列操作
Posted 猿童学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库创建表一系列操作相关的知识,希望对你有一定的参考价值。
1. 创建表
在mysql数据库中,创建新表使用CREATE TABLE语句。语法格式:
CREATE[ TEMPORARY ]TABLE[ IF NOT EXISTS] table_name
[ ([ column_definition ],…… [ index_definition ])]
[ table_option][ SELECT_statement] ;
【例4.1】在学生信息数据库stusys中创建student表。
在MySQL命令行客户端输入如下SQL语句:
mysql > USE stusys;Database changed
mysql > CREATE TABLE student
->
一>
sno char(6 )NOT NULLPRIMARY KEY,
->
sname char(8) NOT NULL,
->
ssex char( 2)NOT NULLEDEFAUET'男',
->
sbirthday date NOT NULL,speciality char( 12)NULL,tc tinyint NULL
2. 查看表
查看表包括查看表的名称、查看表的基本结构、查看表的详细结构等,下面分别介绍。
1.查看表的名称
可以使用SHOW TABLES语句查看表的名称。
语法格式:
SHON TABLES[ FROM| IN db_name ];
其中,使用选项FROM|IN db_name可以显示非当前数据库中的表名。
【例4.3】 查看数据库stusys中所有表名。
mysql > USE stusys;
Database changedmysql
> SHOW TABLES;
2.查看表的基本结构
使用SHOW COLUMNS语句或DESCRIBE/DESC语句可以查看表的基本结构,包括列名、列的数据类型、长度、是否为空、是否为主键、是否有默认值等。
(1)使用SHOW COLUMNS语句查看表的基本结构。
语法格式:
SHOW COLUMNS FROM | IN tb_name[ FROM | IN db_name ];
(2)使用 DESCRIBE/DESC语句查看表的基本结构。
语法格式:
DESCRIBE | DESC tb_name;
3. 修改表
修改表用于更改原有表的结构,可以添加列、修改列、删除列、重命名列或表等。修改表使用ALTER TABLE语句。
语法格式:
ALTER [IGNORE] TABLE tbl_name
alter_specification[, alter_specification] .…alter_specification:
ADD [ COLUMN ]column_definition [FIRST| AFTER col_name ] /*添加列*/
ALTER [ COLUMN]col_name SET DEFAULT literal| DROP DEFAULT /*修改默认值*/
CHANGE [ COLUMN]old_col_name column_definition [FIRST|AFTER col_name]/*对列重命名*/MODIFY [ COLUMN]column_definition [FIRST|AFTER col_name] /*修改列类型*/
DROP[ COLUMN]col_name /*删除列*/
RENAME[ TO]new_tbl_name /*重命名该表*/
ORDER BY col_name /*排序*/
CONVERT TO CHARACTER SET charset_name [ COLLATE collation_name]/*将字符集转换为二进制*/[DEFAULT] CHARACTER SET charset_name [ COLLATE collation_name]/*修改默认字符集*/
4. 删除表
当不需要表的时候,可将其删除。删除表时,表的结构定义、表中的所有数据以及表的索引约束
等都被删除掉。
删除表使用DROP TABLE语句。语法
格式:DROP[ TEMPORARY ] TABLE [ IF NOT EXISTS] table_name [,table_name ]...
【例4.11】 删除stusys 数据库中的student3表。
mysql > DROP TABLE stusys.student3 ;
执行结果;
Query OK,0 rows affected (0.14 sec)
MySQL数据库的基本操作
一、数据库操作
一个MySQL 服务器可以管理多个数据集合,每个数据集合都是一个数据库。
1.显示数据库
show databases;
2.创建数据库
创建数据库名 test1 的数据库
create database test1;
如果MySQL中没有 test2 的数据库,则创建一个名叫 test2 的数据库,如果有则不创建
create database if not exists test2;
如果MySQL中没有名叫 test 的数据库,则创建一个使用 utf8mb4 字符集的 test 数据库,如果有则不创建
create database if not exists test character set utf8mb4;
或者直接指定字符集创建,不过这个太过麻烦。一般都是直接修改配置文件。
create database test character set utf8mb4;
注意:COLLATE关键字可以指定数据库字符集的校验规则,涉及到中文比较时才会用到,不过一般不建议用中文进行比较排序。
3.使用数据库
选择名 为 test 的数据库
use test;
4.删除数据库
删除数据库后,内部看不到对应数据库,数据库里的表也会被删除。
drop database test;
判断 test 数据库存不存在,存在就删除。
drop database if exists test;
二、常用数据类型
1.数值类型
分为整形和浮点型。
float(M,N),假设定义一个 float(3,1),
表示有效数字为3位,其中有一位小数。比如:
85.5和99.9都是合法的,但像 100.0这种就是不合法的
需要注意的是:在Java中浮点型的使用,比如 float和double是存在问题的。浮点数受限于在内存中的表示,不能精确的表示一些数据。所以要谨慎使用
float 和 double ,如果非要使用,在比较相等的时候绝对不能用 == 来比较,可以采取做差的方式来比较。
如果要表示钱,可以用 int 类型,单位为分就不会出现误差。
1字节(bytes)= 8bit
数值类型可以指定为无符号(unsigned),表示不取负数。但不建议使用,因为在后续的MySQL版本中可能会删除。
2.字符串类型
VARCHAR(SIZE),size是可变字符串的最大大小。
BLOB可以存储二进制文件的数据,比如把图片存到数据库中。但一般不会这么做,因为这样做的开销非常大。
3.日期类型
第二种时间类型也就是时间戳,不建议使用。
三、表的操作
要对表进行操作前,一定要通过 USE关键字 先选择它所在的那个数据库
1.查看表的结构
desc 表名
2.创建表
创建表的时候,先写字段名再写类型。
create table 表名 (
字段1 类型,
字段2 类型,
字段3 类型,
);
实例:
create table student (
id int,
name varchar(16),
sex varchar(1)
);
3.删除表
drop table 表名;
判断表是否存在,存在就删除
drop table if exists 表名;
下一篇增删查改,尽情期待!
以上是关于MySQL数据库创建表一系列操作的主要内容,如果未能解决你的问题,请参考以下文章