1.Mysql –u root –p; 从dos中进入MySQL中.
Show databases; 在MySQL中查看它的结构.
2.Use test(存在的库名); 访问数据库test.
Use mysql; 访问数据库mysql.
3.Show tables; 显示一个表格.
4.Describe user(表格名); 进入表格选项.
5.创建库:
Create database 库名(不能是纯数字); 创建一个新的库,再用show databases;来查看这个库有没有创建成功.
6.创建表格:
Create table 表名(字段名 数据类型, 字段名 数据类型);
7.删除库和表格:
a) Dorp database 库名; 删除一个库.
b) Dorp table 表格名; 删除一个表格.
Sql(structure query language):
l 插入资料:insert into表名 values( );
l 查询数据:select*from表名;
l 清空数据:delete from表名;
l 插入一个指定的片段:insert into表名(name)vlaues(‘李辉’);
l 在一个表格里面增加一行:alter table student(表名) add 行名 类型(float);
l alter table student(表名) add 行名 float(5,3),表示一共只能插入五位数,但是有三位小数,如果插入的时候有四位小数,它会自动四舍五入变成三位小数.
l 插入日期到表里:insert into student(date) values(current_date);
MySQL里面的数据类型:
数值型:整型( Int ) , 浮点( float );
字符型:char
日期时间型:date, 可以使用任何常见格式指定datetime、date和timestamp值:
char数据类型: 固定长度的字符串, 特定字符串长度(高达255字符), 如果是char代表只能存一个字符(汉字)。
Varchar数据类型: 具有最大限制的可变长度的字符串, 存储不同长度的字符串值(高达一个特定的最大限度32767)
Varchar比char的好处: 存储可变字符串.能有效的节约空间.
Char和varchar的区别:
1.保存数据的时候,char如果没存满的话,后面会用空格代替,而varchar则不会.
2.查询数据的时候,char的空格不会显示出来.
3.varchar存储的数据>char存储的数据.
Text 数据类型:
没有限制的字符存储。比如新闻消息,产品介绍。
BloB 数据类型:
存储二进制数据类型,比如通过java字节流写入的数据.
1.表的约束:
(1). 空约束:
(2).默认约束: create table are(no int , name char(10),sex char(10) default '女');默认性别为女.
(3).主键约束的作用:
1. 惟一地标识一行.
2. 作为一个可以被外键有效引用的对象.
主键约束可分为单一主键和组合主键.
设置主键: mysql> create table aaa(no char(10),name char(10),sex char(10) default '女',prim
ary key(no));
主键不能为空.
(4).外键约束:
主键表: mysql> create table tanguan(no int,name char(10),primary key(no));
外键表:mysql> create table qingfu(no int,non int,name char(10),primary key(no),foreign
key(non) references tanguan(no));
删除的时候要先删除外键表然后删除主键表.如果不删外键表就删主键表的话,就会报错,因为外键表是引用了主键表.
(5).唯一性约束:unique.
(6).检查约束.
Select 公式 from 表名;
操作加减乘除大于小于等表达式;
1. 比较返回值:正确的返回1,错误的返回0.
2. 连接字符串:
Select concat(‘ a’,’b ’) from 表名;//会把里面的字符连接起来,结果为ab.
3. select left('abcdefg',2) from 表名;会截取前面两位数.
4. length: select length('abcdefg') from 表名; 读出输入字符的位数.
5. trim: select ltrim(' dask gad sf ') from 表名;去掉左边的空格.
select rtrim(' dask gad sf ') from 表名;去掉右边的空格.
6. substring: select substring('abcdef',2,3) from 表名;从下标几开始截取后面的几位字符.结果是bcd.
7. replace (str ,search_str ,replace_str ) //在str中用replace_str替换search_str
select replace('abcdefghi','def','zxy') from 表名;//结果为abczxyghi.
日期和时间:
1. select now() from 表名;取当前的日期和时间.
Current_date ( ) //当前日期
Current_time ( ) //当前时间
Current_timestamp ( ) //当前时间戳,和now 差不多
Current_date:
以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。
mysql> select curdate();
-> '1997-12-15'
mysql> select curdate() + 0;
-> 19971215
Curtime()
Current_time:
以'HH:MM:SS'或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。
mysql> select Curtime();
-> '23:50:26'
mysql> select Curtime() + 0;
-> 235026
Now()
Sysdate()
Current_timestamp:
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的
上下文被使用。
mysql> select now();
-> '1997-12-15 23:50:26'
mysql> select now() + 0;
-> 19971215235026
表
视图
数据库 索引
存储过程
触发器
游标
Sql 分为DML(data manipulate language)和DDL(data define language).
DML(数据操作语言):select , insert , delete , update .
DDL(数据定义语言):create , drop , alter .
1. Distinct:去掉重复的记录.
按条件查询: select 姓名,年龄 from 表名; 只显示姓名和年龄.
去掉重复的: select distinct 姓名,年龄 from 表名; 只显示不重复的姓名和年龄.
去