文章目录
一、查看数据库结构
1、查看当前服务器中的数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.01 sec)
2、查看数据库中包含的表
例如:查看mysql库中的表
mysql> use mysql; 先进入所要查看的库中
mysql> show tables; 查看当前库的表
mysql> show tables in 指定库名;
3、–查看表的结构(自段)
mysql> describe servers; 指定所要查看到的表
或者mysql> desc mysql.servers;
二、SQL语句
SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。
SQL语言分类:
DDL:数据定义语言,用于创建数据对象,如库、表、索引等
DML:数据操纵语言,用于对表中的数据进行管理
DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
DCL:数据控制语言,用于设置或者数据库用户或角色权限
三、创建及删除数据库和表
1、创建新的数据库
create database 库名;
mysql> create database wqx;
创建库前
创建库后
2、创建新的表
create table 表名 (字段1 数据类型,字段2 数据类型[,…][PRIMARY KEY (主键名)]);
#主键一般选择能代理唯一性的字段不允许取空值 (NULL),一个表只能有一个主键。
例如:
mysql> create table class (id int not null, name char(10), age int(3), sex char(10));
查看创建的表:
3、删除指定的数据库,表
dorp database 库名
dorp table 表名
mysql> drop database kyp;
删除前
删除后
mysql> drop table class;
四、管理表中的数据记录
1、向数据表中插入新的数据记录
insert into 表名 (字段1,字段2[,…])values(字段1的值,字段2的值,…)
例:
insert into class(id,name,age,sex) values(1,'wuke',24,'nv');
mysql> select * from class; 查询表记录
注:先进入该表所在的库中,use 库名;
2、查询数据记录
select 字段1,字段2[,…] from 表名 [where 条件表达式];
例:
mysql> select name,sex from class where id=1;
mysql> select * from class\G; # 以列表方式竖向显示
mysql> select * from class limit 2; #只显示头2行
mysql> select * from class limit 1,1; #显示第1行后的前1行
3、修改、更新数据表中的数据记录
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
例:
mysql> update class set sex='nv' where id=2;
修改前
修改后
mysql> delete from class; #删除表中的全部数据
五、修改表名和表结构
1、修改表名
alter table 旧表名 rename 新表名;
例:
mysql> alter table class rename calss1;
2、扩展表结构
alter table 表名 ADD address varchar(50)default ‘地址不详’ #default ‘地址不详’:表示此字段设置默认值 地址不详:可与not null配合使用
例:alter table class1 add address varchar(50) default '地址不详';
mysql> insert into class1(id,name,age,sex) values(1,'lisi',21,'男');
3、修改字段(列)名,添加唯一键
alter table 表名 change 旧列名 新列名 数据类型 [unique key];
例:
mysql> alter table class1 change address myaddress char(50);
修改前
修改后
增加唯一键
例:mysql> alter table class1 change myaddress youraddress char(50) unique key;
4、删除字段
alter table 表名 drop 字段名;
例:mysql> alter table class1 drop youraddress;
案例:mysql> create table if not exists info ( id int(4) zerofill auto_increment primary key, name char(10) not null, age int(3), sex char(10), cardid int(18) not null unique key);
#if not exists:表示检测创建的表是否存在,如果不存在就继续创建
#int (4)zerofill:表示若数值不满4位数,则前用用“0”填充,例0001
#auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增:自增长字段数据不可重复:自增长字段必须是主键:如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次
#unique key:表示此字段唯一键约束,此字段数据不可重复:一张表中只能有一个主键,但示一张表可以有多个唯一键
#not null:表示此字段不允许为null