Mysql命令下——库表的创建查询操作命令

1.创建数据库

mysql> create DATABASE booktik
-> ;
Query OK, 1 row affected (0.02 sec)

2.创建表

mysql> use booktik
Database changed
mysql> create TABLE book(
-> id INT,
-> bookname VARCHAR(1024),
-> size INT);
Query OK, 0 rows affected (0.20 sec)

3.插入数据

mysql> insert into book
-> (id, bookname, size)
-> values
-> (1, "server", 100)
-> ;
Query OK, 1 row affected (0.06 sec)

4.查询数据

mysql> select * from book
-> ;
+------+----------+------+
| id | bookname | size |
+------+----------+------+
| 1 | server | 100 |
+------+----------+------+
1 row in set (0.05 sec)

alter add命令用来增加表的字段。

alter add命令格式:alter table 表名 add字段 类型 其他;

例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:

   mysql> alter table MyClass add passtest int(4) default '0';
  1. 加索引
   mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

例子: mysql> alter table employee add index emp_name (name);
  1. 加主关键字的索引
    mysql> alter table 表名 add primary key (字段名);

例子: mysql> alter table employee add primary key(id);
  1. 加唯一限制条件的索引
   mysql> alter table 表名 add unique 索引名 (字段名);

例子: mysql> alter table employee add unique emp_name2(cardnumber);
  1. 删除某个索引
   mysql> alter table 表名 drop index 索引名;

例子: mysql>alter table employee drop index emp_name;
  1. 增加字段
    mysql> ALTER TABLE table_name ADD field_name field_type;
  1. 修改原字段名称及类型
    mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
  1. 删除字段
    MySQL ALTER TABLE table_name DROP field_name;
  1. 修改字段
如果要修改字段的话就用这个:

ALTER TABLE 创建好的表名称 MODIFY COLUMN 创建好的表需要修改的字段 INT AUTO_INCREMENT

  1. 修改字段属性

mysql修改已存在的表增加ID属性为auto_increment自动增长

今天有需要将已经存在表设置自动增长属性

alter table customers change id id int not null auto_increment primary key;

//添加字段并设置主键

ALTER TABLE tabelname ADD new_field_id int(5) unsigned default 0 not null auto_increment ,ADD primary key (new_field_id);

查询数据库里所有表名和字段名的语句

MySQL库表的操作命令

功能 方法 说明
显示当前用户名 select user();
显示数据库列表 show databases;
进入 mysql库 use mysql;
显示库中的数据表 show tables;
显示数据表的结构 describe 表名;
建库 CREATE { DATABASE | SCHEMA } [IF NOT EXIST ] db_name [DEFAULT] CHARACTER SET [=] charset_name 大括号必须有一个,中括号可不写,简写例子:create database 库名;
进入库后建表 use 库名;
建表 create table 表名 (字段设定列表); 需要先use 库名,进入指定库才可以建表
删除库 drop database 库名;
删除表 drop table 表名;
记录清空表记录的内容 delete from 表名;
显示表中记录的内容 select * from 表名 ;

SQL 查询所有表名:

SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'
select table_name from information_schema.tables where table_schema='database_name' and table_type='base table'
SELECT * FROM INFORMATION_SCHEMA.TABLES

查询表的所有字段名:

SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )
SELECT * FROM INFORMATION_SCHEMA.TABLES
SELECT * FROM INFORMATION_SCHEMA.VIEWS
SELECT * FROM INFORMATION_SCHEMA.COLUMNS

Mysql表字段的操作命令

功能 规范 例子
增加表的字段 alter table 表名 add字段 类型 其他; alter table MyClass add passtest int(4) default '0';#在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:
加索引 alter table 表名 add index 索引名 (字段名1[,字段名2 …]); alter table employee add index emp_name (name);
加主关键字的索引 alter table 表名 add primary key (字段名); alter table employee add primary key(id);#例子
加唯一限制条件的索引 alter table 表名 add unique 索引名 (字段名);#加唯一索引 alter table employee add unique emp_name2(cardnumber);
删除某个索引 alter table 表名 drop index 索引名; alter table employee drop index emp_name;
增加字段 ALTER TABLE table_name ADD field_name field_type;
修改原字段名称及类型 ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
删除字段 MySQL ALTER TABLE table_name DROP field_name;
修改字段 ALTER TABLE 表名称 MODIFY COLUMN 需要修改的字段 INT AUTO_INCREMENT 表可字段要存在才可以
修改字段属性 alter table customers change id id int not null auto_increment primary key; mysql修改已存在的表增加ID属性为auto_increment自动增长
添加字段并设置主键 ALTER TABLE tabelname ADD new_field_id int(5) unsigned default 0 not null auto_increment ,ADD primary key (new_field_id);

字段类型限制说明

字段类型 中文说明 限制条件 其它说明
CHAR 固定长度字符串 最大长度2000 bytes
VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749
NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes DATE
日期(日- 月- 年) DD-MM-YY (HH-MI-SS ) 经过严格测试,无千虫问题
LONG 超长字符串 最大长度 2G (231 -1 ) 足够存储大部头著作
RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等
LONG RAW 可变长度的二进制数据 最大长度 2G 同上
BLOB 二进制数据 最大长度 4G
CLOB 字符数据 最大长度 4G
NCLOB 根据字符集而定的字符数据 最大长度 4G
BFILE 存放在数据库外的二进制数据 最大长度 4G
ROWID 数据表中记录的唯一行号 10 bytes ********.****.**** 格式,* 为0 或1
NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes
NUMBER(P,S) 数字类型 P 为整数位,S 为小数位
DECIMAL(P,S) 数字类型 P 为整数位,S 为小数位
INTEGER 整数类型 小的整数
FLOAT 浮点数类型
NUMBER(38) 双精度
REAL 实数类型
NUMBER(63) 精度更高
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容