@linux1s1s
2017-07-14T16:20:10.000000Z
字数 3022
阅读 1397
Base
SQL
2017-07
[Note] A temporary password is generated for root@localhost: oNuoIRY9td<j
oNuoIRY9td<j
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
exit
mysql -u root -p
然后输入上面修改的密码即可正常进入mysql
注意每条语句结束必须带分号 ;
create database simple character set gbk;
show databases;
use simple
create table students(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(4) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
create table tablename(columns) 为创建数据库表的命令, 列的名称以及该列的数据类型将在括号内完成;
括号内声明了5列内容, id、name、sex、age、tel为每列的名称, 后面跟的是数据类型描述, 列与列的描述之间用逗号(,)隔开;
以 "id int unsigned not null auto_increment primary key" 行进行介绍:
- "id" 为列的名称;
- "int" 指定该列的类型为 int(取值范围为 -8388608到8388607), 在后面我们又用
- "unsigned" 加以修饰, 表示该类型为无符号型, 此时该列的取值范围为 0到16777215;
- "not null" 说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空;
- "auto_increment" 需在整数列中使用, 其作用是在插入数据时若该列为 NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。
- "primary key" 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。
下面的 char(8) 表示存储的字符长度为8, tinyint的取值范围为 -127到128, default 属性指定当该列值为空时的默认值。
上面的数据类型可以参考mysql 数据类型
\. H:\workspace\SQL\students.sql
show databases
use simple
show tables
describe xxxx
insert into students (name, sex, age) values ("小孙", "女", 21);
select 列名称 from 表名称 [查询条件];
select * from students; (查询表students中的所有内容)
select name, age from students;
按特定条件查询:
where 关键词用于指定查询条件, 用法形式为: select 列名称 from 表名称 where 条件;
以查询所有性别为女的信息为例, 输入查询语句: select * from students where sex="女";
where 子句不仅仅支持 "where 列名 = 值" 这种名等于值的查询形式, 对一般的比较运算的运算符都是支持的, 例如 =、>、<、>=、<、!= 以及一些扩展运算符 is [not] null、in、like 等等。 还可以对查询条件使用 or 和 and 进行组合查询, 以后还会学到更加高级的条件查询方式, 这里不再多做介绍。
示例:
查询年龄在21岁以上的所有人信息: select * from students where age > 21;
查询名字中带有 "王" 字的所有人信息: select * from students where name like "%王%";
查询id小于5且年龄大于20的所有人信息: select * from students where id<5 and age>20;
update 表名称 set 列名称=新值 where 更新条件;
update students set tel=default where id=5;
delete from 表名称 where 删除条件;
delete from students where age<20;
alter table 语句用于创建后对表的修改, 基础用法如下:
基本形式: alter table 表名 add 列名 列数据类型 [after 插入位置];
示例:
在表的最后追加列 address:
alter table students add address char(60);
在名为 age 的列后插入列 birthday:
alter table students add birthday date after age;
基本形式: alter table 表名 change 列名称 列新名称 新数据类型;
示例:
将表 tel 列改名为 telphone:
alter table students change tel telphone char(13) default "-";
将 name 列的数据类型改为 char(16):
alter table students change name name char(16) not null;
基本形式: alter table 表名 drop 列名称;
示例:
删除 birthday 列:
alter table students drop birthday;
基本形式: alter table 表名 rename 新表名;
示例:
重命名 students 表为 workmates:
alter table students rename workmates;
基本形式: drop table 表名;
示例: 删除 workmates 表:
drop table workmates;
基本形式: drop database 数据库名;
示例: 删除 samp_db 数据库:
drop database samp_db;
以上为了熟悉SQL语句采用命令式,在实际操作中并不方便,而MySQL已经考虑到这点,所以提供了界面操作MySQL Workbench,可以下载使用。
注 : 参考:21分钟 MySQL 入门教程