MySql教程

mysql

本文主要是介绍mysql,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

创建数据库:mysql> create database test default character set utf8;

查看数据库:mysql> show databases;

查看数据库编码:mysql> select schema_name,default_character_set_name  from information_schema.schemata where schema_name ='test';

删除数据库:mysql>drop database test;

选择数据库:mysql> use bjsxt;

数值类型

 

浮点型:

 

字符串类型:

 

日期类型:

 

 

创建表:mysql> create table employees(employees_id int,last_name varchar(30),salary float(8,2));

修改表名:mysql> alter table employees rename emp;

修改列名:mysql>alter table emp change column last_name name varchar(30);

修改类型:mysql> alter table emp modify name varchar(40);

添加新列:mysql> alter table emp add column commission_pct float(4,2);

删除列:mysql> alter table emp drop column commission_pct;

创建表时指定约束:

实例:创建 departments 表包含 department_id 该列为主键且自动增长,department_name 列不允许重复,location_id 列不允含有空值。

mysql> create table departments(department_id int primary key auto_increment,department_name varchar(30) unique,location_id int not null);

实例2:创建 employees 表包含 employees_id 该列为主键且自动增长,last_name 列不允许含有空值,email 列不允许有重复不允许含有空值,dept_id 为外键参照 departments 表的主键。

mysql> create table employees(employee_id int primary key auto_increment,last_name varchar(30) not null,email varchar(40) not null unique,dept_id int,constraint emp_fk foreign key(dept_id)references departments(department_id));

添加主键约束:ALTER TABLE 表名 ADD PRIMARY KEY(列名)  

修改为主键自动增长:mysql> alter table emp modify employees_id int auto_increment;

删除主键约束:mysql> alter table emp drop primary key;  先去除自动增长,再删除主键约束

修改为非空约束:mysql> alter table emp modify salary int not null;

删除非空约束:mysql> alter table emp modify salary float(8,2) null;

添加唯一性约束:mysql> alter table emp add constraint emp_uk unique(name);

 

 删除唯一性约束:mysql> alter table emp drop key emp_uk;

添加外键约束:mysql> alter table emp add constraint e_fk foreign key(dept_id)references departements(department_id);

删除外键约束:mysql> alter table emp drop foreign key e_fk;

删除外键索引:mysql> alter table emp drop index e_fk;

添加数据:mysql> insert into departments(department_name,location_id)value("market",1);

完全插入: mysql> insert into departments values(default,"development",2);  自动增长可以用null,default,0占位

添加默认值:mysql> create table emp3(emp_id int primary key auto_increment,name varchar(30),adress varchar(50) default"unknow");

修改默认值:mysql> alter table emp3 add column job_id int default 0;

更新数据:mysql> update emp3 e set e.adress="BeiJing" where emp_id=1;

子查询更新:mysql> update emp3 e,(select adress from emp3 where emp_id =1)t set e.adress=t.adress where e.emp_id=2;

删除数据:mysql> delete from emp3 where emp_id=1;

清空数据:mysql> truncate table emp3;

手动提交事务:mysql> start transaction;   commit:

mysql连接符:mysql> select concat(employee_id,'#',last_name,'#',email,'#',salary,'#',commission_pct,'#') from employees;

mysql去除重复:mysql> select distinct dept_id from employees;

 

字符处理:

CONCAT(str1,str2,...)将 str1、str2 等字符串连接起来 SUBSTR(str,pos,len)从 str 的第 pos 位(范围:1~str.length)开始,截取长度为 len的字符串 LENGTH(str)获取 str 的长度 INSTR(str,substr)获取 substr 在 str 中的位置 LPAD(str,len,padstr)/RPAD(str,len,padstr) TRIM(str)从 str 中删除开头和结尾的空格(不会处理字符串中间含有的空格) LTRIM(str)从 str 中删除左侧开头的空格 RTRIM(str)从 str 中删除右侧结尾的空格 REPLACE(str,from_str,to_str)将 str 中的 from_str 替换为 to_str(会替换掉所有符合from_str 的字符串)   数字函数 ROUND(arg1,arg2):四舍五入指定小数的值。 ROUND(arg1):四舍五入保留整数。 TRUNC(arg1,arg2):截断指定小数的值,不做四舍五入处理。 MOD(arg1,arg2):取余。   4日期函数 SYSDATE()或者 NOW()返回当前系统时间,格式为 YYYY-MM-DD hh-mm-ss CURDATE()返回系统当前日期,不返回时间 CURTIME()返回当前系统中的时间,不返回日期 DAYOFMONTH(date)计算日期 d 是本月的第几天 DAYOFWEEK(date)日期 d 今天是星期几,1 星期日,2 星期一,以此类推 DAYOFYEAR(date)返回指定年份的天数 DAYNAME(date)返回 date 日期是星期几 LAST_DAY(date)返回 date 日期当月的最后一天   转换函数 DATE_FORMAT(date,format)将日期转换成字符串(类似 oracle 中的 to_char()) STR_TO_DATE(str,format)将字符串转换成日期(类似 oracle 中的 to_date())   通用函数 IFNULL(expr1,expr2)判断 expr1 是否为 null,如果为 null,则用 expr2 来代替 null(类似 oracle 的 NVL()函数) NULLIF(expr1,expr2)判断 expr1 和 expr2 是否相等,如果相等则返回 null,如果不相等则返回 expr1 IF(expr1,expr2,expr3)判断 expr1 是否为真(是否不为 null),如果为真,则使用 expr2替代 expr1;如果为假,则使用 expr3 替代 expr1(类似 oracle 的 NVL2()函数) COALESCE(value,...)判断 value 的值是否为 null,如果不为 null,则返回 value;如果为 null,则判断下一个 value 是否为 null……直至出现不为 null 的 value 并返回或者返回最后一个为 null 的 value CASE WHEN THEN ELSE END 条件函数

 

这篇关于mysql的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!