shell> mysql -uroot -p //以root用户连接mysql,默认密码为空
注意:mysql的大部分命令都需以";"(分号)结束;对大小写不敏感!
mysql> show databases; //显示数据库列表
mysql> use 数据库名 //选中指定的数据库
mysql> show tables; //显示选中数据库中的数据表列表
mysql> select * from 表名; //显示指定数据表的内容
mysql> create database 数据库名; //创建数据库
mysql> create table user_info( //创建数据表
-> id int(6) not null auto_increment,
-> username varchar(20) not null,
-> password varchar(20) not null,
-> email varchar(50) not null,
-> key id (id));
因为使用了auto_increment (自动增长),所以必须指定key id。
mysql> describe 表名; //显示表的结构
mysql> insert into user_info values //插入数据到表中
-> ('1', 'aa', '11', 'aa@xxx.com'),
-> ('2', 'bb', '22', 'bb@xxx.com'),
-> ('3', 'cc', '33', 'cc@xxx.com');
插入数据有两种写法,上面是第一种,这种写法需要给出每一列的值!
第二种:
mysql> insert into user_info(username, password, email) values //插入数据到表中
-> ('aa', '11', 'aa@xxx.com'),
-> ('bb', '22', 'bb@xxx.com'),
-> ('cc', '33', 'cc@xxx.com');
因为第一个id被设置为auto_increment了,所以系统会自动添加!如果这里也像第一种省略了列条目,则就会提示列数不匹配的错误;
mysql> drop database 数据库名; //删除数据库
mysql> drop table 表名; //删除数据表
mysql> delete from 表名; //清空数据表
mysql> grant select,insert,delete,update //为数据库指定一个专门的用户进行管理
-> on 数据库名.* to username@localhost
-> identified by 'password';
该命令用于创建用户并指定权限,注意username和password不能太简单,否则创建不成功!
mysql> mysql -uusername -p //然后输入999用户的密码后就会以999用户进行管理mysql了
mysql> alter table 表名 add '列名' VARCHAR(12); //在表中增加一列
mysql> alter table 表名 change '列名1' '列名2' VARCHAR(12); //更改列名
mysql> alter table 表名 drop '列名'; //删除一列
mysql> alter table 表名 rename t2; //修改表名
mysql> drop database if exists school; //如果存在SCHOOL则删除
mysql> load data local infile "file" into table 表名; //文本数据应符合的格式:字段数据之间用tab键隔开,null值用/n来代替.
备份数据库:
导出:mysqldump -u用户名 -p密码 数据库名 表名 > out.sql
导入:mysql -u用户名 -p密码 --database=数据库名 < out.sql
备份数据表:
导出:mysqldump -uroot test table1 > ./out.sql
导入:mysql -uroot --database=test < ./out.sql
列数据类型:分为数字型、字符串型和日期
1、数字型:以字串的形式存储,decima/numeric;分为整形和浮点型,可以有两个选项:unsigned(无符号,只存储正数)和zerofill(用0填充而不是空格)
2、字符串型
char varchar等
3、日期型
datetime timestamp等
4、枚举型
enum('男','女')
-----------------------------------------
注意:mysql的大部分命令都需以";"(分号)结束;对大小写不敏感!
mysql> show databases; //显示数据库列表
mysql> use 数据库名 //选中指定的数据库
mysql> show tables; //显示选中数据库中的数据表列表
mysql> select * from 表名; //显示指定数据表的内容
mysql> create database 数据库名; //创建数据库
mysql> create table user_info( //创建数据表
-> id int(6) not null auto_increment,
-> username varchar(20) not null,
-> password varchar(20) not null,
-> email varchar(50) not null,
-> key id (id));
因为使用了auto_increment (自动增长),所以必须指定key id。
mysql> describe 表名; //显示表的结构
mysql> insert into user_info values //插入数据到表中
-> ('1', 'aa', '11', 'aa@xxx.com'),
-> ('2', 'bb', '22', 'bb@xxx.com'),
-> ('3', 'cc', '33', 'cc@xxx.com');
插入数据有两种写法,上面是第一种,这种写法需要给出每一列的值!
第二种:
mysql> insert into user_info(username, password, email) values //插入数据到表中
-> ('aa', '11', 'aa@xxx.com'),
-> ('bb', '22', 'bb@xxx.com'),
-> ('cc', '33', 'cc@xxx.com');
因为第一个id被设置为auto_increment了,所以系统会自动添加!如果这里也像第一种省略了列条目,则就会提示列数不匹配的错误;
mysql> drop database 数据库名; //删除数据库
mysql> drop table 表名; //删除数据表
mysql> delete from 表名; //清空数据表
mysql> grant select,insert,delete,update //为数据库指定一个专门的用户进行管理
-> on 数据库名.* to username@localhost
-> identified by 'password';
该命令用于创建用户并指定权限,注意username和password不能太简单,否则创建不成功!
mysql> mysql -uusername -p //然后输入999用户的密码后就会以999用户进行管理mysql了
mysql> alter table 表名 add '列名' VARCHAR(12); //在表中增加一列
mysql> alter table 表名 change '列名1' '列名2' VARCHAR(12); //更改列名
mysql> alter table 表名 drop '列名'; //删除一列
mysql> alter table 表名 rename t2; //修改表名
mysql> drop database if exists school; //如果存在SCHOOL则删除
mysql> load data local infile "file" into table 表名; //文本数据应符合的格式:字段数据之间用tab键隔开,null值用/n来代替.
备份数据库:
导出:mysqldump -u用户名 -p密码 数据库名 表名 > out.sql
导入:mysql -u用户名 -p密码 --database=数据库名 < out.sql
备份数据表:
导出:mysqldump -uroot test table1 > ./out.sql
导入:mysql -uroot --database=test < ./out.sql
列数据类型:分为数字型、字符串型和日期
1、数字型:以字串的形式存储,decima/numeric;分为整形和浮点型,可以有两个选项:unsigned(无符号,只存储正数)和zerofill(用0填充而不是空格)
- 小数型:float/double
- 整数型:int bigint tinyint
2、字符串型
char varchar等
3、日期型
datetime timestamp等
4、枚举型
enum('男','女')
-----------------------------------------