每日分享
After the hard training of a life time, every athlete deserves a medal in the Games, no matter whether he won or not.
经过长时间的艰苦训练,在奥运会上无论成败,每个运动员都应获得一枚奖牌。
小闫语录:
不能以结果论成败,奋斗的过程更值得敬佩。失败并不是一无所有,这个过程中你所得到的同样宝贵。
mysql指令
1.创建用户
我们的数据库需要创建普通用户,让其操作指定的数据库表,保证数据库的安全。下面就是操作指令:
1.创建用户帐号ethan,密码为ethan。
create user ethan identified by 'ethan';
密码由identified by指明。
2.授权test数据库下所有的表(test.*)的所有权限(all)给用户ethan在任何ip访问数据库的时候('ethan'@'%')都可以。
grant all on test.* to 'ethan'@'%';
3.刷新是用户生效。
flush privileges;
2.数据库操作
创建数据库mytest并指定数据库编码为utf-8。
create database mytest charset utf8;
显示数据库mytest创建信息。
mysql> show create database mytest; +----------+-----------------------------------------------------------------+ | Database | Create Database | +----------+-----------------------------------------------------------------+ | mytest | CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+-----------------------------------------------------------------+ 1 row in set (0.00 sec)
可以通过语句后面加 \G
换一种显示方式。
mysql> show create database mytest\G *************************** 1. row *************************** Database: mytest Create Database: CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET utf8 */ 1 row in set (0.00 sec)
当表格信息十分多的时候,这种方式会让信息显示更加美观。
\G
后面不加封号。
修改数据库mytest编码。
alter database mytest charset utf8;
显示所有的数据库。
show databases;
切换、使用数据库mytest。
use mytest;
可以加封号也可以不加。最好加上。
删除数据库mytest。
drop database mytest;
3.数据库表操作
创建表stu,字段为sid、sname、sage。
create table stu(sid int,sname char(20),sage int);
sid、sname、sage代表的是字段名,int、char代表的是字段类型。
查看所有的表。
show tables;
查看表stu的表结构。
desc stu
显示创建表stu信息。
show create table stu;
同样可以使用语句末尾加
\G
来格式化表格,使数据显示更加美观。
增加字段gender,指定类型char:
alter table stu add gender char(4);
修改字段sname的数据类型为varchar。
alter table stu modify sname varchar(20);
修改字段名sid为snumber,并修改数据类型为smallint。
alter table stu change sid snumber smallint;
删除stu表中gender字段。
alter table stu drop gender;
4.数据操作
给表stu中插入数据,所有字段都有信息。
insert into stu values(1,'tom',20);
给表stu中插入数据,指定字段有信息。
insert into stu(sage,sname) values(20,'jack');
sage和sname是字段名,后面的值需要和前面的字段一一对应。
同时插入多条数据。
insert into stu values(2,'rose',20),(3,'tony',22);
修改数据。
update stu set sage=25;
将所有记录的字段sage都改为25。
只修改指定的数据。将名为tony的记录中字段sname的值改为alice。
update stu set sname='alice'where sname='tony';
删除数据。
truncate stu;
删除全部数据,重置自动编号到默认值,没有事务,速度快。
deletefrom stu;
相当于 truncate stu,但是delete操作有事务操作,所以速度慢,而且不会重置自动编号。
删除满足条件的数据。
deletefrom stu where snumber =1;
5.数据库常用约束
主键约束 primary key
。
create table tpk(id int primary key,name char(10));
主键约束既有唯一性,又有非空性。
自动增长 auto_increment
。
create table tai(id int auto_increment primary key,name varchar(10));
唯一性约束 unique
。
create table tuni(id int unique,name char(10));
非空约束 notnull
。
create table tnn(id int,name char(10)notnull);
默认约束 default
。
create table tdt(id int,name char(10)default'NoName');
外键约束 foreign key
。
create table fClass(id int primary key,name char(10)); create table fStudent(id int primary key auto_increment,name char(10), cid int, foreign key(cid) references fClass(id));
6.数据库的导入和导出
导出整个数据库:
mysqldump -uroot -p test > test.sql
导出库中的制定表:
mysqldump -uroot -p mytest stu tpk > stutpk.sql
导入数据库:
mysql -u用户名-p 数据库名<要导入的文件.sql
导入数据库的时候需要先创建一个空的数据库。
7.数据表查询操作
详情请查看文章「 我是个链接 」